package com.um.jdy.common.charge.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author renjunwei
 * @date 2020/9/19 09:37
 */
public class OrderEnum {


    /**
     * 订单组合状态
     */
    @Getter
    @AllArgsConstructor
    public enum OrderStatus{
        All("全部"),
        NotStarted("未充电"),
        UnPay("待支付"),
        Doing("充电中"),
        Completed("已完成"),
        Place("占位中");

        private String value;
    }


    @Getter
    @AllArgsConstructor
    public enum Status{
        NotStarted("未充电"),
        Charging("充电中"),
        Completed("充电完成"),
        Failure("启动失败"),
        Cancel("已取消");

        private String value;
    }


    @Getter
    @AllArgsConstructor
    public enum ReturnStatus{
        None("无退款"),
        Success("退款成功"),
        Failure("退款失败"),
        Refund("退款中");

        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum DepositReturnStatus{
        No("未退款"),
        Yes("已退款");

        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum ChargePeriod{
        Sharp("尖"),
        Peak("峰"),
        Flat("平"),
        Valley("谷");
        private String value;
    }

    /**
     * 分账状态
     * @author renjunwei
     * @date 2020/9/19 09:37
     */
    public enum ProfitSharingStatus {
        PROCESSING,
        FINISHED,
        FAIL,
        CLOSED,
    }

    /**
     * 信用类型
     */
    @Getter
    @AllArgsConstructor
    public enum CreditType {
        Deposit("押金"),
        WxPayScore("微信支付分"),
        Other("其他"),
        ;
        private String value;
    }

    @Getter
    @AllArgsConstructor
    public enum PayScoreStatus {
        Created("已创建"),
        Confirmed("已确认支付分订单"),
        NotAvailable("不可用（信用分不足或用户取消）"),
        Canceled("用户未确认，服务端取消"),
        InService("服务中"),
        Finished("已结束"),
        DeductionFail("扣费失败"),
        DeductionComplete("扣费完成"),

        ;

        private String value;

    }


    /**
     * 占位状态
     */
    @Getter
    @AllArgsConstructor
    public enum PlaceStatus {
        None("不占位"),
        Place("占位中"),
        Completed("已完成"),
        ;
        private String value;
    }

    /**
     * 占位状态
     */
    @Getter
    @AllArgsConstructor
    public enum FeeType {
        Time("按时间计费"),
        Energy("按电量计费"),
        ;
        private String value;
    }

    @Getter
    @AllArgsConstructor
    public enum ChargeStatus{
        NotStarted("未充电"),
        Charge("充电中"),
        Completed("已完成");

        private String value;
    }
}
